import {defineStore} from 'pinia'
import axios from 'axios'
import {nanoid} from 'nanoid'

export const useTalkStore = defineStore('talk',{
  actions:{
    //这个async指的是：异步函数，就是等待getATalk中的三行代码完成的时候，再执行下面的代码
    async getATalk(){
      // 发请求，下面这行的写法是：连续解构赋值+重命名 
      // await：等待返回的promise对象，这个promise对象中，有data属性，这个属性中，有content属性，这个属性中，有title属性
      let {data:{content:title}} = await axios.get('https://api.uomg.com/api/rand.qinghua?format=json')
      // 把请求回来的字符串，包装成一个对象 nanoid()：生成一个随机的id
      let obj = {id:nanoid(),title}
      // 放到数组中 unshift() 方法：在数组的开头添加一个或更多元素，并返回新的长度。
      this.talkList.unshift(obj)
    }
  },
  // 真正存储数据的地方
  state(){
    return {
      talkList:[
        {id:'ftrfasdf01',title:'今天你有点怪，哪里怪？怪好看的！'},
        {id:'ftrfasdf02',title:'草莓、蓝莓、蔓越莓，今天想我了没？'},
        {id:'ftrfasdf03',title:'心里给你留了一块地，我的死心塌地'}
      ]
    }
  }
})